A Context-Aware Primitive for Nested Recursive Parallelism
نویسندگان
چکیده
Nested recursive parallel applications constitute an important super-class of conventional, flat parallel codes. For this class, parallel libraries utilizing the concept of tasks have been widely adapted. However, the provided abstract task creation and synchronization interfaces force corresponding implementations to focus their attention to individual task creation and synchronization points – unaware of their relation to each other – thereby losing optimization potential. Within this paper, we present a novel interface for task level parallelism, enabling implementations to grasp and manipulate the context of task creation and synchronization points – in particular for nested recursive parallelism. Furthermore, as a concrete application, we demonstrate the interface’s capability to reduce parallel overhead within applications based on a reference implementation utilizing C++14 template meta programming techniques to synthesize multiple versions of a parallel task during the compilation process. To demonstrate its effectiveness, we evaluate the impact of our approach on the performance of a series of eight task parallel benchmarks. For those, our approach achieves substantial speed-ups over state of the art solutions, in particular for use cases exhibiting fine grained tasks.
منابع مشابه
Term rewriting theory for the recursive functions
The termination of rewrite systems for parameter recursion, simple nested recursion and unnested multiple recursion is shown by using monotone interpretations both on the ordinals below the first primitive recursively closed ordinal and on the natural numbers. We show that the resulting derivation lengths are primitive recursive. As a corollary we obtain transparent and illuminating proofs of t...
متن کاملPredicative Lexicographic Path Orders: Towards a Maximal Model for Primitive Recursive Functions
The predicative lexicographic path order (PLPO for short), a syntactic restriction of the lexicographic path order, is presented. As well as lexicographic path orders, several non-trivial primitive recursive equations, e.g., primitive recursion with parameter substitution, unnested multiple recursion, or simple nested recursion, can be oriented with PLPOs. It can be shown that PLPOs however onl...
متن کاملPredicative Lexicographic Path Orders - An Application of Term Rewriting to the Region of Primitive Recursive Functions
In this paper we present a novel termination order the predicative lexicographic path order (PLPO for short), a syntactic restriction of the lexicographic path order. As well as lexicographic path orders, several non-trivial primitive recursive equations, e.g., primitive recursion with parameter substitution, unnested multiple recursion, or simple nested recursion, can be oriented with PLPOs. I...
متن کاملAn Application of Term Rewriting to the Region of Primitive Recursive Functions
In this paper we present a novel termination order the predicative lexicographic path order (PLPO for short), a syntactic restriction of the lexicographic path order. As well as lexicographic path orders, several non-trivial primitive recursive equations, e.g., primitive recursion with parameter substitution, unnested multiple recursion, or simple nested recursion, can be oriented with PLPOs. I...
متن کاملCharacterization of the Computable Real Numbers by Means of Primitive Recursive Functions
One usually defines the notion of a computable real number by using recursive functions. However, there is a simple way due to A. Mostowski to characterize the computable real numbers by using only primitive recursive functions. We prove Mostowski’s result differently and apply it to get other simple characterizations of this kind. For instance, a real number is shown to be computable if and on...
متن کامل